/*
 *    Copyright (c) 2018-2025, proj All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the proj developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: proj
 */

package com.ykht.proj.coupon.vo;

import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.text.DateFormat;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

/**
 * c端奖励记录表
 *
 * @author proj code generator
 * @date 2021-08-12 14:10:39
 */
@Data
public class FxRewardPersonVo extends Model<FxRewardPersonVo> {
private static final long serialVersionUID = 1L;

    /**
     * 
     */
    @ApiModelProperty(value="")
    private Long id;

	@ApiModelProperty(value="订单编号")
	private String orderNumber;

	/**
     * 公司id
     */
    @ApiModelProperty(value="公司id")
    private Long companyId;
    /**
     * 奖励的品牌id
     */
    @ApiModelProperty(value="奖励的品牌id")
    private Long brandId;
    /**
     * 奖励类型
     */
    @ApiModelProperty(value="奖励类型")
    private Integer type;

    @ApiModelProperty(value="商品类型：1 优惠卷 2 卡")
    private Integer shopType;

    @ApiModelProperty(value="1有效0无效")
    private Integer status;

    @ApiModelProperty(value="卡状态：1激活 2未激活")
    private Integer cardStatus;

    @ApiModelProperty(value="优惠券状态：0待使用，1已核销2已过期")
    private Integer couponStatus;
    /**
     * 金额
     */
    @ApiModelProperty(value="金额")
    private BigDecimal money;
    /**
     * 核销金额（冗余字段type=2）
     */
    @ApiModelProperty(value="核销金额（冗余字段type=2）")
    private BigDecimal useMoney;
    /**
     * 目标ID（根据shop_type类型 连表查询）
     */
    @ApiModelProperty(value="目标ID（根据shop_type类型 连表查询）")
    private Long tatId;
    /**
     * 分享人的ID
     */
    @ApiModelProperty(value="用户ID")
    private Long personId;
    @ApiModelProperty(value="饭友id")
    private Long fyId;
    @ApiModelProperty(value="返佣时间")
    private LocalDateTime passTime;

    /**
     * 创建人
     */
    @ApiModelProperty(value="创建人")
    private Long createUser;
    /**
     * 修改人
     */
    @ApiModelProperty(value="修改人")
    private Long updateUser;
    /**
     * 创建时间
     */
    @ApiModelProperty(value="创建时间")
    private LocalDateTime createTime;
    /**
     * 更新时间
     */
    @ApiModelProperty(value="更新时间")
    private LocalDateTime updateTime;
    /**
     * 0可用1删除
     */
    @ApiModelProperty(value="0可用1删除")
    private Integer delFlag;
    /**
     * 租户ID
     */
    @ApiModelProperty(value="租户ID",hidden=true)
    private Integer tenantId;

    //

	@ApiModelProperty(value = "用户id")
	private Long loginId;

	@ApiModelProperty("优惠券名称")
	private String couponName;

	@ApiModelProperty(value="核销码")
	private String verificationCode;

	@ApiModelProperty(value="优惠券类型0无门槛1满减")
	private Integer couponType;
	@ApiModelProperty(value="优惠券类型0无门槛1满减")
	private String couponTypeName;

	@ApiModelProperty(value="最低消费")
	private BigDecimal lowMoney;

	@ApiModelProperty(value="消费金额")
	private BigDecimal cnMoney;
    /**
	 * 返佣
	 * */
	private  BigDecimal returnMoney;
//优惠卷门店
	private  String  verificationShop;


	public void setVerificationTime(LocalDateTime verificationTime) {
		this.verificationTime = verificationTime;
		this.verificationTime4String = DateUtil.format(verificationTime, DatePattern.NORM_DATETIME_PATTERN);
	}

	@ApiModelProperty(value="核销时间")
	private LocalDateTime verificationTime;
	@ApiModelProperty(value="核销时间")
	private String verificationTime4String;



	@ApiModelProperty(value="减免金额")
	private BigDecimal reductionMoney;

	@ApiModelProperty(value="饭友名称")
	private String fyName;

	@ApiModelProperty(value="饭友电话")
	private String fyPhone;

	@ApiModelProperty("品牌名称")
	private String brandName;

	@ApiModelProperty(value="适用门店")
	private String shopName;

	@ApiModelProperty(value="核销类型  1 服务员  2 门店")
	private Integer verificationType;

	@ApiModelProperty(value="核销人名称")
	private String verificationPersonName;

	@ApiModelProperty(value="核销人电话")
	private String verificationPersonPhone;

	@ApiModelProperty(value="核销门店")
	private String verificationShopName;

	@ApiModelProperty(value = "微信昵称")
	private String nickName;

	@ApiModelProperty(value = "用户名")
	private String username;

	@ApiModelProperty(value = "手机号")
	private String userPhone;

	@ApiModelProperty(value="返佣开始时间")
	private LocalDateTime passStaTime;

	@ApiModelProperty(value="返佣结束时间")
	private LocalDateTime passEntTime;



}
